home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / mac / Illustrator 6.0 SDK r1 Mac / AI Plugin Interface / AIArt.h next >
Text File  |  1995-12-21  |  3KB  |  154 lines

  1. /**
  2.  
  3.     AIArt.h
  4.     Copyright (c) 1995 Adobe Systems Incorporated.
  5.     All Rights Reserved
  6.  
  7.     Adobe Illustrator 6.0 Artwork Object Suite.
  8.  
  9.  **/
  10.  
  11. #ifndef __AIArt__
  12. #define __AIArt__
  13.  
  14.  
  15. /*******************************************************************************
  16.  **
  17.  **    Imports
  18.  **
  19.  **/
  20.  
  21. #include "AITypes.h"
  22. #include "AILayer.h"
  23. #include "AIFixedMath.h"
  24.  
  25.  
  26. #if Macintosh
  27.     #ifdef __cplusplus
  28.     extern "C" {
  29.     #endif
  30.     
  31.     #if PRAGMA_ALIGN_SUPPORTED
  32.     #pragma options align=mac68k
  33.     #endif
  34.     
  35.     #if PRAGMA_IMPORT_SUPPORTED
  36.     #pragma import on
  37.     #endif
  38. #endif
  39.  
  40.  
  41. /*******************************************************************************
  42.  **
  43.  **    Constants
  44.  **
  45.  **/
  46.  
  47. #define kAIArtSuite        "AI Art Suite"
  48. #define kAIArtVersion    2
  49.  
  50.  
  51. // Artwork Notifiers
  52. #define kAIArtSelectionChangedNotifier        "AI Art Selection Changed Notifier"
  53. #define kAIArtPropertiesChangedNotifier        "AI Art Properties Changed Notifier"
  54.  
  55.  
  56. enum {
  57.     kAnyArt = -1,
  58.     kUnknownArt = 0,
  59.  
  60.     kGroupArt,
  61.     kPathArt,
  62.     kCompoundPathArt,
  63.  
  64.     kTextArt,
  65.     kTextPathArt,
  66.     kTextRunArt,
  67.     
  68.     kPlacedArt,
  69.     kMysteryPathArt,
  70.     kRasterArt
  71. };
  72.  
  73.  
  74. enum {
  75.     kPlaceAbove = 1,
  76.     kPlaceBelow,
  77.     kPlaceInsideOnTop,
  78.     kPlaceInsideOnBottom,
  79.     kPlaceAboveAll,
  80.     kPlaceBelowAll
  81. };
  82.  
  83. enum {
  84.     kArtSelected    = 0x0001,
  85.     kArtLocked        = 0x0002,
  86.     kArtHidden        = 0x0004
  87. };
  88.  
  89.  
  90. // errors
  91. #define kUnknownArtTypeErr            'ART?'
  92. #define kUnknownPaintOrderTypeErr    'ORD?'
  93. #define kUntouchableArtObjectErr    'ELIO'
  94. #define kTooDeepNestingErr            'NEST'
  95. #define kUntouchableLayerErr          'NESS'
  96.  
  97.  
  98. /*******************************************************************************
  99.  **
  100.  **    Types
  101.  **
  102.  **/
  103.  
  104. typedef struct _t_AIArtOpaque *AIArtHandle;  // opaque reference to an artwork object
  105.  
  106.  
  107. /*******************************************************************************
  108.  **
  109.  **    Suite
  110.  **
  111.  **/
  112.  
  113. typedef struct {
  114.  
  115.     MACPASCAL FXErr (*NewArt) ( short type, short paintOrder, AIArtHandle prep, AIArtHandle *newArt );
  116.     MACPASCAL FXErr (*DisposeArt) ( AIArtHandle art );
  117.     MACPASCAL FXErr (*ReorderArt) ( AIArtHandle thisArt, short paintOrder, AIArtHandle prep );
  118.     MACPASCAL FXErr (*DuplicateArt) ( AIArtHandle thisArt, short paintOrder, AIArtHandle prep, AIArtHandle *newArt );
  119.  
  120.     MACPASCAL FXErr (*GetFirstArtOfLayer) ( AILayerHandle layer, AIArtHandle *art );
  121.     MACPASCAL FXErr (*GetLayerOfArt) ( AIArtHandle art, AILayerHandle *layer );
  122.     MACPASCAL FXErr (*GetArtType) ( AIArtHandle art, short *type );
  123.     MACPASCAL FXErr (*GetArtUserAttr) ( AIArtHandle art, long whichAttr, long *attr );
  124.     MACPASCAL FXErr (*SetArtUserAttr) ( AIArtHandle art, long whichAttr, long attr );
  125.     MACPASCAL FXErr (*GetArtParent) ( AIArtHandle art, AIArtHandle *parent );
  126.     MACPASCAL FXErr (*GetArtFirstChild) ( AIArtHandle art, AIArtHandle *child );
  127.     MACPASCAL FXErr (*GetArtSibling) ( AIArtHandle art, AIArtHandle *sibling );
  128.     MACPASCAL FXErr (*GetArtPriorSibling) ( AIArtHandle art, AIArtHandle *sibling );
  129.  
  130.     MACPASCAL FXErr (*GetArtBounds) ( AIArtHandle art, FixedRect *bounds );
  131.  
  132.     MACPASCAL FXErr (*GetArtCenterPointVisible) ( AIArtHandle art, Boolean *visible );
  133.     MACPASCAL FXErr (*SetArtCenterPointVisible) ( AIArtHandle art, Boolean visible );
  134.  
  135. } AIArtSuite;
  136.  
  137.  
  138. #if Macintosh
  139.     #if PRAGMA_IMPORT_SUPPORTED
  140.     #pragma import off
  141.     #endif
  142.     
  143.     #if PRAGMA_ALIGN_SUPPORTED
  144.     #pragma options align=reset
  145.     #endif
  146.     
  147.     #ifdef __cplusplus
  148.     }
  149.     #endif
  150. #endif
  151.  
  152.  
  153. #endif
  154.